/*
 * Copyright (c) 2020-2021 Huawei Device Co., Ltd.
 *
 * HDF is dual licensed: you can use it either under the terms of
 * the GPL, or the BSD license, at your option.
 * See the LICENSE file in the root of this repository for complete details.
 */

#ifndef OSAL_TEST_CASE_DEF_H
#define OSAL_TEST_CASE_DEF_H

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

enum HdfOsalTestCaseCmd {
    OSAL_TEST_START,
    OSAL_MUTEX_CREATE,
    OSAL_MUTEX_LOCK_TIMEOUT,
    OSAL_MUTEX_UNLOCK,
    OSAL_MUTEX_LOCK_FOREVER,
    OSAL_MUTEX_DESTROY,
    OSAL_MUTEX_VISIT_DESTROY,
    OSAL_MUTEX_STRESS_TEST,
    OSAL_MUTEX_OTHER,
    OSAL_SPIN_CREATE,
    OSAL_SPIN_LOCK,
    OSAL_SPIN_UNLOCK,
    OSAL_SPIN_LOCK_IRQ,
    OSAL_SPIN_UNLOCK_IRQ,
    OSAL_SPIN_LOCK_IRQ_SAVE,
    OSAL_SPIN_UNLOCK_IRQ_RESTORE,
    OSAL_SPIN_DESTROY,
    OSAL_SPIN_LOCK_AFTER_DESTROY,
    OSAL_SPIN_STRESS_TEST,
    OSAL_SPIN_OTHER,
    OSAL_TIME_SLEEP,
    OSAL_TIME_MSLEEP,
    OSAL_TIME_USLEEP,
    OSAL_TIME_GETTIME,
    OSAL_TIME_DIFFTIME,
    OSAL_IRQ_UNREG_ABNORMAL,
    OSAL_IRQ_REG_NORMAL,
    OSAL_IRQ_UNREG_NORMAL,
    OSAL_IRQ_REG_NORMAL_STRESS,
    OSAL_IRQ_UNREG_NORMAL_STRESS,
    OSAL_TIMER_CREATE_ONCE,
    OSAL_TIMER_CREATE_LOOP,
    OSAL_TIMER_RUN_CHECK,
    OSAL_TIMER_PARA_CHECK,
    OSAL_TIMER_PERIOD_CHECK,
    OSAL_TIMER_MODIFY_CHECK,
    OSAL_TIMER_STOP_CHECK,
    OSAL_THREAD_CREATE,
    OSAL_THREAD_PARA_CHECK,
    OSAL_THREAD_RUN_CHECK,
    OSAL_FW_REQUEST,
    OSAL_FW_READ,
    OSAL_FW_DATA_CHECK,
    OSAL_FW_SEEK,
    OSAL_FW_RELEASE,
    OSAL_FW_READ_AFTER_RELEASE,
    OSAL_MALLOC_BIG,
    OSAL_MALLOC_SMALL,
    OSAL_MALLOC_BIG_STRESS,
    OSAL_MALLOC_SMALL_STRESS,
    OSAL_LIST_INIT,
    OSAL_LIST_EMPTY,
    OSAL_LIST_COUNT_CHECK,
    OSAL_LIST_TAIL,
    OSAL_LIST_HEAD,
    OSAL_LIST_REMOVE,
    OSAL_LIST_TRAVERSAL,
    OSAL_LIST_TRAVERSAL_REMOVE,
    OSAL_LIST_STRESS,
    OSAL_SEM_CREATE,
    OSAL_SEM_POST,
    OSAL_SEM_POST_RESULT,
    OSAL_SEM_WAIT_TIMEOUT,
    OSAL_SEM_WAIT_FOREVER,
    OSAL_SEM_DESTROY,
    OSAL_SEM_VISIT_AFTER_DESTROY,
    OSAL_WORK_QUEUE_CREATE,
    OSAL_WORK_CREATE,
    OSAL_DELAY_WORK_CREATE,
    OSAL_WORK_ADD,
    OSAL_DELAY_WORK_ADD,
    OSAL_WORK_RUN_CHECK,
    OSAL_DELAY_WORK_RUN_CHECK,
    OSAL_WORK_CANCEL,
    OSAL_DELAY_WORK_CANCEL,
    OSAL_ATOMIC_SET,
    OSAL_ATOMIC_READ,
    OSAL_ATOMIC_INC,
    OSAL_ATOMIC_DEC,
    OSAL_TEST_BIT,
    OSAL_TEST_SET_BIT,
    OSAL_TEST_CLR_BIT,
    OSAL_CLR_BIT,
    OSAL_FILE_OPEN_RD,
    OSAL_FILE_READ_RD,
    OSAL_FILE_WRITE_RD,
    OSAL_FILE_SEEK_RD,
    OSAL_FILE_CLOSE_RD,
    OSAL_FILE_OPEN_RDWR,
    OSAL_FILE_READ_RDWR,
    OSAL_FILE_WRITE_RDWR,
    OSAL_FILE_SEEK_RDWR,
    OSAL_FILE_CLOSE_RDWR,
    OSAL_TEST_OTHER,
    OSAL_TEST_ALL,
    OSAL_TEST_END,
    OSAL_TEST_MAX,
};
#define TEST_FILE_PATH_NAME "/storage/hdf.txt"
#if defined(__KERNEL__)
#define TEST_FW_PATH_NAME "/lib/firmware/hdf_fw.img"
#define TEST_FW_NAME "hdf_fw.img"
#else
#define TEST_FW_PATH_NAME "/storage/hdf_fw.img"
#endif
#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* OSAL_TEST_CASE_DEF_H */
